gtk4.git
6 years agogdk: Stop using surface->parent
Matthias Clasen [Sat, 23 Mar 2019 13:13:37 +0000 (09:13 -0400)]
gdk: Stop using surface->parent

It is always NULL.

6 years agobroadway: Stop using surface->parent
Matthias Clasen [Sun, 21 Apr 2019 17:08:24 +0000 (13:08 -0400)]
broadway: Stop using surface->parent

6 years agox11: Stop using surface->parent
Matthias Clasen [Sat, 23 Mar 2019 13:12:10 +0000 (09:12 -0400)]
x11: Stop using surface->parent

It is always NULL.

6 years agowayland: Stop using surface->parent
Matthias Clasen [Sat, 23 Mar 2019 13:11:46 +0000 (09:11 -0400)]
wayland: Stop using surface->parent

It is always NULL.

6 years agosurface: Remove code dealing with child surfaces
Matthias Clasen [Sat, 23 Mar 2019 12:43:07 +0000 (08:43 -0400)]
surface: Remove code dealing with child surfaces

We no longer have child surfaces, so this code
is never run.

6 years agosurface: minor cleanup
Matthias Clasen [Sat, 23 Mar 2019 12:36:25 +0000 (08:36 -0400)]
surface: minor cleanup

Make gdk_surface_new fully private, and reduce the use
of GdkSurfaceAttr.

6 years agoDrop child surfaces
Matthias Clasen [Fri, 22 Mar 2019 18:24:39 +0000 (14:24 -0400)]
Drop child surfaces

Drop gdk_surface_child_new and the child surface type,
since we no longer use them. Deprecate surface apis
that only make sense with child surfaces.

6 years agowidget: Stop using child surface apis
Matthias Clasen [Sat, 23 Mar 2019 06:01:52 +0000 (02:01 -0400)]
widget: Stop using child surface apis

All our surfaces are toplevels now, and thus all native.

6 years agoa11y: Stop supporting ATK_XY_SCREEN
Matthias Clasen [Sat, 23 Mar 2019 05:59:47 +0000 (01:59 -0400)]
a11y: Stop supporting ATK_XY_SCREEN

We were already not supporting ATK_XY_PARENT, and we can't
support global positions, so just always do ATK_XY_WINDOW.

6 years agoxim: Stop using child surface apis
Matthias Clasen [Sat, 23 Mar 2019 06:00:59 +0000 (02:00 -0400)]
xim: Stop using child surface apis

We no longer have child surfaces.
Drop code that only makes sense in
their presence.

6 years agowayland: Stop using child surface apis
Matthias Clasen [Sat, 23 Mar 2019 04:14:46 +0000 (00:14 -0400)]
wayland: Stop using child surface apis

We no longer have child surfaces.
Drop code that only makes sense in their
presence.

6 years agox11: Stop using child surface api
Matthias Clasen [Sat, 23 Mar 2019 04:14:00 +0000 (00:14 -0400)]
x11: Stop using child surface api

We no longer have child surfaces.
Drop code that only makes sense in
that case.

6 years agoentry completion: Use a popover
Matthias Clasen [Sat, 20 Apr 2019 04:32:29 +0000 (04:32 +0000)]
entry completion: Use a popover

This lets us remove a use of GTK_WINDOW_POPUP,
which should eventually be going away.

We need to disable treeview search, since it
creates a toplevel that will disrupt our grabbing
popup, causing it to be dismissed.

We don't need to grab ourselves, since the popover
code does it for us. We don't need to reposition our
window, since the popover takes care of that too.

6 years agomain: Use gtk_widget_get_native
Matthias Clasen [Thu, 2 May 2019 21:33:53 +0000 (17:33 -0400)]
main: Use gtk_widget_get_native

6 years agomain: Remove special-case hiding popopvers
Matthias Clasen [Mon, 22 Apr 2019 21:39:18 +0000 (21:39 +0000)]
main: Remove special-case hiding popopvers

This is now happening in GDK, so we don't have
to do this here anymore.

6 years agowidget: Remove some unneeded popover special-casing
Matthias Clasen [Fri, 26 Apr 2019 03:18:15 +0000 (03:18 +0000)]
widget: Remove some unneeded popover special-casing

6 years agoAdwaita: Give popover menus a background
Matthias Clasen [Sun, 24 Mar 2019 15:41:55 +0000 (11:41 -0400)]
Adwaita: Give popover menus a background

This makes the hover highlight on menu items visible.

6 years agomenubutton: Allocate the popover
Matthias Clasen [Fri, 26 Apr 2019 23:17:37 +0000 (23:17 +0000)]
menubutton: Allocate the popover

This is temporary, until we've figured out
the proper way of hooking this up

6 years agoAdapt to new popover lifecycle
Matthias Clasen [Fri, 22 Mar 2019 02:12:22 +0000 (22:12 -0400)]
Adapt to new popover lifecycle

We need to unparent popovers in dispose.

6 years agoReimplement GtkPopover
Matthias Clasen [Mon, 29 Apr 2019 03:25:37 +0000 (03:25 +0000)]
Reimplement GtkPopover

6 years agosurface: Start sketching a new surface type
Matthias Clasen [Wed, 20 Mar 2019 00:05:17 +0000 (20:05 -0400)]
surface: Start sketching a new surface type

Start by adding a constructor. We have to call it
gdk_surface_new_popup_full for now, since gdk_surface_new_popup
is taken. This may be reshuffled later.

6 years agomenushell: Keep outside clicks working
Matthias Clasen [Sun, 26 May 2019 17:16:40 +0000 (17:16 +0000)]
menushell: Keep outside clicks working

We need to unset event propagation limits here
to keep receiving outside clicks that cause us
to close the menu.

6 years agoIntroduce event controller propagation limits
Matthias Clasen [Mon, 29 Apr 2019 02:19:44 +0000 (02:19 +0000)]
Introduce event controller propagation limits

Limit event handlers by default to only handle
events targeting the same surface as their widget.

6 years agowidget: Don't snapshot foreign children
Matthias Clasen [Mon, 18 Mar 2019 11:51:47 +0000 (07:51 -0400)]
widget: Don't snapshot foreign children

When snapshotting, we walk down the widget tree.
We need to skip children that have a different
surface, since those will do their own snapshot.

6 years agoroot: Make gtk_root_get_display public
Matthias Clasen [Sun, 19 May 2019 20:35:59 +0000 (20:35 +0000)]
root: Make gtk_root_get_display public

This is following the precedent of making
GtkNative getters public.

6 years agoGtkRoot: Drop overlap with GtkNative
Matthias Clasen [Sun, 26 May 2019 17:39:11 +0000 (17:39 +0000)]
GtkRoot: Drop overlap with GtkNative

Drop the parts from the GtkRoot interface
that have been taken over by GtkNative.

6 years agowidget: Use GtkNative
Matthias Clasen [Mon, 29 Apr 2019 17:47:40 +0000 (13:47 -0400)]
widget: Use GtkNative

6 years agoReview and replace uses of get_toplevel
Matthias Clasen [Sun, 17 Mar 2019 23:41:26 +0000 (19:41 -0400)]
Review and replace uses of get_toplevel

Now that roots can have parent widgets, we need to
carefully examine all calls of gtk_widget_get_toplevel,
and replace them with gtk_widget_get_root if we want
the nearest root, and not the ultimate end of the parent
chain.

6 years agoUse GtkNative APIs instead of GtkRoot
Matthias Clasen [Sun, 26 May 2019 18:02:55 +0000 (18:02 +0000)]
Use GtkNative APIs instead of GtkRoot

6 years agoAdd gtk_widget_get_native
Matthias Clasen [Thu, 2 May 2019 21:32:54 +0000 (17:32 -0400)]
Add gtk_widget_get_native

This is a common enough operation to deserve api.

6 years agoroot: Require GtkNative
Matthias Clasen [Mon, 29 Apr 2019 05:42:39 +0000 (05:42 +0000)]
root: Require GtkNative

6 years agowindow: Implement GtkNative
Matthias Clasen [Sun, 26 May 2019 17:43:46 +0000 (17:43 +0000)]
window: Implement GtkNative

Adapt GtkWindow to implement both GtkRoot and GtkNative.

6 years agonative: Add to docs
Matthias Clasen [Tue, 28 May 2019 20:22:18 +0000 (16:22 -0400)]
native: Add to docs

6 years agoIntroduce GtkNative
Matthias Clasen [Sun, 26 May 2019 17:38:27 +0000 (17:38 +0000)]
Introduce GtkNative

Split off the parts of GtkRoot that are specific
to widgets having a surface into the GtkNative
interface.

6 years agomain: guard window-specific code paths
Matthias Clasen [Sun, 3 Mar 2019 22:42:36 +0000 (17:42 -0500)]
main: guard window-specific code paths

This was overlooked when I first tried to
make things for GtkRoot.

6 years agowidget: guard popover-specific code paths
Matthias Clasen [Sun, 24 Feb 2019 23:41:26 +0000 (18:41 -0500)]
widget: guard popover-specific code paths

This is essentially a special case just for GtkPopover,
which is the last widget with a child surface.

6 years agoExport gtk_widget_render privately
Matthias Clasen [Sun, 19 May 2019 03:41:08 +0000 (03:41 +0000)]
Export gtk_widget_render privately

We need it in gtkwindow.c and gtkpopover.c.

6 years agosurface: Add marshallers for new events
Benjamin Otte [Tue, 28 May 2019 17:18:35 +0000 (19:18 +0200)]
surface: Add marshallers for new events

This way, sysprof can profile through the signal emission, and for
signals this low in the stack, this is very useful.

6 years agofile chooser widget: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 03:02:33 +0000 (03:02 +0000)]
file chooser widget: Drop the priv pointer

6 years agofile chooser dialog: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 02:48:26 +0000 (02:48 +0000)]
file chooser dialog: Drop the priv pointer

6 years agofile chooser dialog: Make final
Matthias Clasen [Tue, 28 May 2019 02:42:14 +0000 (02:42 +0000)]
file chooser dialog: Make final

6 years agofile chooser widget: Make final
Matthias Clasen [Tue, 28 May 2019 02:41:15 +0000 (02:41 +0000)]
file chooser widget: Make final

6 years agofile chooser button: Make final
Matthias Clasen [Tue, 28 May 2019 02:40:08 +0000 (02:40 +0000)]
file chooser button: Make final

6 years agofont chooser dialog: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 02:37:41 +0000 (22:37 -0400)]
font chooser dialog: Drop the priv pointer

6 years agofont chooser widget: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 02:27:47 +0000 (22:27 -0400)]
font chooser widget: Drop the priv pointer

6 years agofont chooser dialog: Make final
Matthias Clasen [Tue, 28 May 2019 00:57:47 +0000 (00:57 +0000)]
font chooser dialog: Make final

6 years agofont chooser widget: Make final
Matthias Clasen [Tue, 28 May 2019 00:56:41 +0000 (00:56 +0000)]
font chooser widget: Make final

6 years agofont button: Make final
Matthias Clasen [Tue, 28 May 2019 00:55:28 +0000 (00:55 +0000)]
font button: Make final

6 years agoapp chooser dialog: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 00:51:46 +0000 (20:51 -0400)]
app chooser dialog: Drop the priv pointer

6 years agoapp chooser widget: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 00:44:01 +0000 (20:44 -0400)]
app chooser widget: Drop the priv pointer

6 years agoapp chooser dialog: Make final
Matthias Clasen [Tue, 28 May 2019 00:30:59 +0000 (20:30 -0400)]
app chooser dialog: Make final

6 years agoapp chooser widget: Make final
Matthias Clasen [Tue, 28 May 2019 00:30:48 +0000 (20:30 -0400)]
app chooser widget: Make final

6 years agoapp chooser button: Make final
Matthias Clasen [Tue, 28 May 2019 00:30:35 +0000 (20:30 -0400)]
app chooser button: Make final

6 years agocolor chooser dialog: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 00:23:17 +0000 (00:23 +0000)]
color chooser dialog: Drop the priv pointer

6 years agocolor chooser widget: Drop the priv pointer
Matthias Clasen [Tue, 28 May 2019 00:20:03 +0000 (00:20 +0000)]
color chooser widget: Drop the priv pointer

6 years agocolor chooser dialog: Make final
Matthias Clasen [Tue, 28 May 2019 00:04:15 +0000 (00:04 +0000)]
color chooser dialog: Make final

6 years agocolor chooser widget: Make final
Matthias Clasen [Tue, 28 May 2019 00:04:01 +0000 (00:04 +0000)]
color chooser widget: Make final

6 years agocolor button: Make final
Matthias Clasen [Tue, 28 May 2019 00:03:46 +0000 (00:03 +0000)]
color button: Make final

6 years agoentry completion: Make final
Matthias Clasen [Tue, 28 May 2019 00:03:24 +0000 (00:03 +0000)]
entry completion: Make final

6 years agotext tag table: Make final
Matthias Clasen [Mon, 27 May 2019 22:44:25 +0000 (22:44 +0000)]
text tag table: Make final

And also move private function to a private header.

6 years agoRemove an unused function
Matthias Clasen [Mon, 27 May 2019 22:37:11 +0000 (22:37 +0000)]
Remove an unused function

_gdk_make_event was not used anywhere.

6 years agotext mark: Use standard padding
Matthias Clasen [Mon, 27 May 2019 22:31:10 +0000 (22:31 +0000)]
text mark: Use standard padding

6 years agotext tag: Use standard padding
Matthias Clasen [Mon, 27 May 2019 22:30:33 +0000 (22:30 +0000)]
text tag: Use standard padding

6 years agooverlay: Make final
Matthias Clasen [Mon, 27 May 2019 21:35:24 +0000 (21:35 +0000)]
overlay: Make final

6 years agosizerequest: Fix request mode for layout managers
Timm Bäder [Sat, 25 May 2019 07:03:37 +0000 (09:03 +0200)]
sizerequest: Fix request mode for layout managers

We can't just call GtkWidgetClass::get_request_mode() anymore. If the
widget has a layout manager, we need to ask that one.

6 years agolayoutmanager: Never pass NULL pointers to ->measure
Timm Bäder [Sat, 25 May 2019 06:59:20 +0000 (08:59 +0200)]
layoutmanager: Never pass NULL pointers to ->measure

We don't do that in GtkWidgetClass::measure() implementations either, so
make the semantics match.

6 years agofilechooserentry: Correctly annotate a return value as (nullable)
Timm Bäder [Fri, 24 May 2019 06:47:40 +0000 (08:47 +0200)]
filechooserentry: Correctly annotate a return value as (nullable)

6 years agofilechooserentry: Rename function to make sense
Timm Bäder [Fri, 24 May 2019 06:43:45 +0000 (08:43 +0200)]
filechooserentry: Rename function to make sense

This is GtkFileChooserEntry API, not GtkFileChooser API.

6 years agoDon't load print backends more than once
Matthias Clasen [Mon, 27 May 2019 12:59:36 +0000 (12:59 +0000)]
Don't load print backends more than once

The modules don't depend on the default display
at all, and loading them more than once makes
the displayclose test fail here, locally.

6 years agoMerge branch 'meson-man-without-docs' into 'master'
Matthias Clasen [Mon, 27 May 2019 09:30:45 +0000 (09:30 +0000)]
Merge branch 'meson-man-without-docs' into 'master'

meson: allow building man pages without the documentation

See merge request GNOME/gtk!875

6 years agocheck menu item: Drop the priv pointer
Matthias Clasen [Mon, 27 May 2019 04:41:58 +0000 (00:41 -0400)]
check menu item: Drop the priv pointer

6 years agocheck menu item: Use standard padding
Matthias Clasen [Mon, 27 May 2019 04:33:30 +0000 (04:33 +0000)]
check menu item: Use standard padding

6 years agoradio menu item: Drop the priv pointer
Matthias Clasen [Mon, 27 May 2019 04:28:49 +0000 (00:28 -0400)]
radio menu item: Drop the priv pointer

6 years agoradio menu item: Make final
Matthias Clasen [Mon, 27 May 2019 04:26:34 +0000 (04:26 +0000)]
radio menu item: Make final

6 years agoradio button: Make final
Matthias Clasen [Mon, 27 May 2019 04:10:48 +0000 (00:10 -0400)]
radio button: Make final

6 years agocheck button: Use standard padding
Matthias Clasen [Mon, 27 May 2019 04:09:41 +0000 (04:09 +0000)]
check button: Use standard padding

6 years agotoggle button: Use standard padding
Matthias Clasen [Mon, 27 May 2019 04:08:07 +0000 (04:08 +0000)]
toggle button: Use standard padding

6 years agogrid: Use standard padding
Matthias Clasen [Mon, 27 May 2019 03:30:21 +0000 (23:30 -0400)]
grid: Use standard padding

6 years agosearch bar: Make final
Matthias Clasen [Mon, 27 May 2019 03:27:15 +0000 (23:27 -0400)]
search bar: Make final

6 years agopaned: Make final
Matthias Clasen [Mon, 27 May 2019 03:25:34 +0000 (03:25 +0000)]
paned: Make final

6 years agospin button: Make final
Matthias Clasen [Mon, 27 May 2019 03:22:47 +0000 (23:22 -0400)]
spin button: Make final

6 years agosearch entry: Make final
Matthias Clasen [Mon, 27 May 2019 03:21:07 +0000 (23:21 -0400)]
search entry: Make final

6 years agorange: Use standard padding
Matthias Clasen [Mon, 27 May 2019 03:18:38 +0000 (23:18 -0400)]
range: Use standard padding

6 years agoscale: Use standard padding
Matthias Clasen [Mon, 27 May 2019 03:17:28 +0000 (23:17 -0400)]
scale: Use standard padding

6 years agomenu item: Use standard padding
Matthias Clasen [Mon, 27 May 2019 03:14:36 +0000 (23:14 -0400)]
menu item: Use standard padding

6 years agomenu shell: Use standard padding
Matthias Clasen [Mon, 27 May 2019 03:13:55 +0000 (23:13 -0400)]
menu shell: Use standard padding

6 years agomenu button: Make final
Matthias Clasen [Mon, 27 May 2019 03:10:57 +0000 (23:10 -0400)]
menu button: Make final

6 years agorevealer: Make final
Matthias Clasen [Mon, 27 May 2019 03:08:37 +0000 (03:08 +0000)]
revealer: Make final

6 years agoentry: Use standard padding
Matthias Clasen [Mon, 27 May 2019 03:03:47 +0000 (03:03 +0000)]
entry: Use standard padding

6 years agoseparator tool item: Make final
Matthias Clasen [Mon, 27 May 2019 03:01:34 +0000 (23:01 -0400)]
separator tool item: Make final

6 years agoseparator menu item: Make final
Matthias Clasen [Mon, 27 May 2019 03:00:15 +0000 (23:00 -0400)]
separator menu item: Make final

6 years agostatus bar: Make final
Matthias Clasen [Mon, 27 May 2019 02:51:44 +0000 (02:51 +0000)]
status bar: Make final

6 years agoexpander: Make final
Matthias Clasen [Mon, 27 May 2019 02:50:03 +0000 (22:50 -0400)]
expander: Make final

6 years agocell area context: Drop the priv pointer
Matthias Clasen [Mon, 27 May 2019 02:42:49 +0000 (22:42 -0400)]
cell area context: Drop the priv pointer

6 years agocell area context: Use standard padding
Matthias Clasen [Mon, 27 May 2019 02:40:02 +0000 (22:40 -0400)]
cell area context: Use standard padding

6 years agoseparator: Make final
Matthias Clasen [Mon, 27 May 2019 02:37:56 +0000 (22:37 -0400)]
separator: Make final

6 years agoscrollbar: Make final
Matthias Clasen [Mon, 27 May 2019 02:37:42 +0000 (22:37 -0400)]
scrollbar: Make final

6 years agoheader bar: Make final
Matthias Clasen [Mon, 27 May 2019 02:32:21 +0000 (22:32 -0400)]
header bar: Make final

6 years agoinfo bar: Make final
Matthias Clasen [Mon, 27 May 2019 02:30:33 +0000 (22:30 -0400)]
info bar: Make final

6 years agolevel bar: Make final
Matthias Clasen [Mon, 27 May 2019 02:24:14 +0000 (22:24 -0400)]
level bar: Make final